Using Design Patterns to Evolve System Software from UNIX to Windows NT

نویسندگان

  • Douglas C. Schmidt
  • Paul Stephenson
چکیده

Developing system software that is reusable across OS platforms is challenging. Due to constraints imposed by the underlying OS platforms, it is often impractical to directly reuse existing algorithms, detailed designs, interfaces, or implementations. This article describes our experiences using a large-scale reuse strategy for system software based on design patterns. Design patterns capture the static and dynamic structures of solutions that occur repeatedly when producing applications in a particular context [1, 2]. Design patterns are an important technique for improving system software quality since they address a fundamental challenge in largescale software development: communication of architectural knowledge among developers [3]. This article describes our experiences with a large-scale reuse strategy based upon design patterns. We have used this strategy at Ericsson to facilitate the development of efficient OO telecommunication system software. In this article, we present a case study that describes the cross-platform evolution of portions of an OO framework called the ADAPTIVE Service eXecutive (ASX) [4]. The ASX framework is an integrated collection of components that collaborate to produce a reusable infrastructure for developing distributed applications. This article focuses on the ASX framework’s support for event-driven distributed applications. One of the key components in the ASX framework is the Reactor class category [5]. The Reactor integrates the demultiplexing of events and the dispatching of the corresponding event handlers. Event handlers are triggered by various types of events such as timers, synchronization objects, signals, or I/O operations. We recently ported theASX framework from several UNIX platforms to the Windows NT platform. These OS platforms possess significantly different mechanisms for event demultiplexing and I/O. To meet our performance requirements, it was not possible to directly reuse many of the components in the ASX framework across the OS platforms. However, it was possible to reuse the underlyingdesign patterns that were embodied in the ASX framework, thereby reducing project risk. The remainder of the article is organized as follows: Section 2 outlines the background of our work using OO frameworks for telecommunications system softare; Section 3.1 presents an overview of the design patterns that are the focus of this article; Section 4 examines the issues that arose as we ported the components in the Reactor framework from several UNIX platforms to the Windows NT platform; Section 5 summarizes the experience we gained, both pro and con, while deploying a design pattern-based system development methodology in a production software environment; and Section 6 presents concluding remarks.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Experience Using Design Patterns to Evolve Communication Software Across Diverse OS Platforms

Design patterns help to improve communication software quality since they address a fundamental challenge in largescale software development: communication of architectural knowledge among developers. This paper makes several contributions to the study and practice of design patterns. It presents a case study that illustrates how design patterns helped to reduce development effort and project r...

متن کامل

Achieving Reuse Through Design Patterns A Case Study of Evolving Object-Oriented System Software Across OS Platforms

Building system software that is reusable across OS platforms presents developers with many challenges. It is often difficult to reuse existing interfaces and implementations directly due to portability, functionality, and efficiency constraints imposed by different platforms and applications. It may still be possible, however, to leverage prior development effort by reusing design patterns. De...

متن کامل

NT-SwiFT: software implemented fault tolerance on Windows NT

More and more high available applications are implemented on Windows NT. However, the current version of Windows NT (NT4) does not provide some facilities that are needed to implement these fault tolerant applications. In this paper, we describe a set of components collectively named NT-SwiFT (Software Implemented Fault Tolerance) which facilitates building fault-tolerant and highly available a...

متن کامل

An Approach for Analyzing the Robustness of Windows NT Software

Today, the vast majority of software executing on defense systems is untrusted commercial o -the-shelf software such as Microsoft Windows software. Vulnerabilities in this software may be exploited to gain unauthorized access to security-critical systems. A number of studies have analyzed the robustness of software that run on Unix systems. The results of these studies have pointed to vulnerabi...

متن کامل

Testing the robustness of Windows NT software

To date most studies on the robustness of operat ing system software have focused on Unix based sys tems This paper develops a methodology and ar chitecture for performing intelligent black box analy sis of software that runs on the Windows NT plat form The goals of the research are three fold rst to develop intelligent robustness testing techniques for Commercial O The Shelf COTS software seco...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1995